"""
data_output.py

用于输出数据, 可以将一个二维数组按py列表定义格式输出至一个.py文件中.

包含函数:
    write_to_py_file(): 用于输出.
"""



import random  

def write_to_py_file(output_py_name='results_output.py', output_data=[]):

    """
    一个简单的输出代码, 将二维数组以标准数组定义方式写到一个py文件中.

    参数:
        output_py_name (string): 输出的文件的名字.
        output_data (list): 二维数组, 待输出的数据.
    """

    with open(output_py_name, "w", encoding="utf-8") as f:  
        f.write("res_list = [\n")  # 开始一个列表  
        
        for item in output_data:  
            # 将每个元素转为 float 类型并保留五位小数  
            formatted_item = [round(float(value), 5) for value in item]  
            # 写入文件，每个小列表占一行  
            f.write(f"  {formatted_item},\n")  
        
        f.write("]\n")  # 关闭列表  
    print(f"[INFO] Results saved to {output_py_name}.")  




if __name__ == "__main__":  
    # 生成10x10的二维数组，元素为0到100的随机整数  
    example_data = [[random.randint(0, 100) for _ in range(10)] for _ in range(10)]  
    write_to_py_file(output_py_name='example_name.py', output_data=example_data)